package com.johann.datatype;

/**
 * @Description: java的四大整型
 *  int         4       -20亿~20亿
 *  short       2       -32768~32767      -2(2*8-1)~2^(1*8-1)-1
 *  long        8
 *  byte        1       -128~127         -2^(1*8-1)~2^(1*8-1)-1
 *
 *  以byte为例
 *  一个字节占8位，其中的首位会作为符号位，所以在幂上会减去1
 *  首位符号位为1的取值为：-128~-1
 *  首位符号位为0的取值为：0~127
 */
public class JavaInteger {

    public static void main(String[] args) {
        /*加下划线是为了更易读，java编辑器会将下划线去掉*/
        int bit=0b1111_0100_0010_0100_0000;     //加0b表示二进制数，下划线是为了区分
        int bit2=20_00000_0;                    //下划线是为了区分
        int bit3=0x0caf_0b00;                   //16进制有前缀0x
        int octBit= 01010;                      //8进制有一个前缀0，一般不这么写，容易混淆
        System.out.println(bit);                //1000000
        System.out.println(bit2);               //20000000
        System.out.println(bit3);               //212798208
        System.out.println(octBit);             //520

        long bit4=10L;                          //最好加后缀L或l，不加也可
    }
}
